【Python实例第10讲】可视化股票市场结构

机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353)

本例采用几个无监督学习技术,从股票的历史报价变异里提取股票市场结构。这里,我们使用的数量是每日的报价变异。

学习一个图结构

我们使用稀疏的可逆协方差估计寻找哪些报价是条件相关的,即,给定其它报价下,它们是相关的。特别地,稀疏的可逆协方差估计给出了一个图,这个图实际上是一个报价的连接表。对于每一个标记(即报价),与之连接的标记对解释它的波动情况是有用的。

聚类

我们使用聚类的方法将相似的报价分到一起。具体地,我们使用AP聚类法(Affinity propagation Clustering). AP不要求各类大小相等,而且能根据数据自动确定类数。

聚类与图的区别在于,图反映了变量间的条件关系,而聚类反映了边际属性,即,被聚在一起的变量对完全的股票市场有相似的影响。

可视化

我们在一个2D图里同时输出3个模型,图中的节点代表股票,边代表:

  • 类标签被用来定义节点的颜色

  • 稀疏的协方差模型被用来表示节点力

  • 2D嵌入被用来表示节点的位置

这个例子涉及大量的可视化代码,因为可视化对于图形表示是重要的。挑战之一是如何定位标签的位置,使重叠最少,这样图形更清楚可见。为此,我们沿着每个轴的最近邻方向使用一个启发式的方法。

实例详解

首先,加载必需的模块和函数库。

from __future__ import print_function

# Author: Gael Varoquaux gael.varoquaux@normalesup.org
# License: BSD 3 clause

import sys
from datetime import datetime

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.collections import LineCollection

import pandas as pd

from sklearn import cluster, covariance, manifold

print(__doc__)

从因特网获得数据

本例使用的数据来自2003年——2008年的股票市场历史资料。这种历史数据能够从quandl.com,
alphavantage.co这样的API获得。我们将获得的数据定义成一个数组对象,定义股票变异为收盘价与开盘价的差。

# The data is from 2003 - 2008. This is reasonably calm: (not too long ago so
# that we get high-tech firms, and before the 2008 crash). This kind of
# historical data can be
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值